WCET Coverage for Pipelines
نویسندگان
چکیده
Hybrid measurement-based (MB) approaches for computing WCET estimates are gaining popularity due to difficulties modelling advanced microprocessor speed-up features. These approaches combine measured data of program segments by using static analysis techniques in order to reconstruct the longest path through the program. To this end, execution times of program segments are collected by first instrumenting, and then testing, the program. However, the test phase must exercise the WCET between each pair of instrumentation points in order to enable safe re-combination of these data in the calculation stage. In general, exhaustive testing is not permissible, thus coverage criteria are required which give a quantitative view of the quality of the test phase. Often, such criteria within the functional domain, e.g. branch coverage and MC/DC, are insufficient because temporal properties are not considered. This deficiency becomes an issue for advanced mircoprocessors which almost certainly include pipelines and caches, amongst others. In this paper, we introduce the notion of WCET coverage, which are criteria to be integrated into hybrid MB WCET analysis, by focusing on three metrics for programs executing on pipelined processors. Each metric utilises the instrumentation point graph (IPG) a program model typically used in hybrid MB WCET analysis as a measure of coverage. The most straightforward criteria, simple pipeline coverage, covers the pipeline effect on each IPG edge. This is subsumed by pairwise pipeline coverage, which attempts to cover the pipeline effect between adjacent IPG edges. A stronger criteria, pipeline hazard path coverage, utilises properties of the pipeline to identify potential sources of hazards, either structural or data, in the program and maps this information onto the IPG.
منابع مشابه
Processor Pipelines and Their Properties for Static WCET Analysis
When developing real-time systems, the worst-case execution time (WCET) is a commonly used measure for predicting and analyzing program and system timing behavior. Such estimates should preferrably be provided by static WCET analysis tools. Their analysis is made difficult by features of common processors, such as pipelines and caches. This paper examines the properties of single-issue in-order...
متن کاملEfficient Analysis of Pipeline Models for WCET Computation
Worst-case execution time (WCET) prediction for modern CPU’s cannot make local assumptions about the impact of input information on the global worst-case because of the existence of timing anomalies. Therefore, static analyses on the hardware level must consider a large subset of the reachable states of the underlying hardware model. As the number of states grows, WCET prediction can become inf...
متن کاملModel Checking of Cache for WCET Analysis Refinement
On real-time systems running under timing constraints, scheduling can be performed when one is aware of the worst case execution time (WCET) of tasks. Usually, the WCET of a task is unknown and schedulers make use of safe over-approximations given by static WCET analysis. To reduce the over-approximation, WCET analysis has to gain information about the underlying hardware behavior, such as pipe...
متن کاملTimed Games for Computing Worst-Case Execution-Times
In this paper we introduce a framework for computing upper bounds yet accurate WCET for hardware platforms with caches and pipelines. The methodology we propose consists of 3 steps: 1) given a program to analyse, compute an equivalent (WCET-wise) abstract program; 2) build a timed game by composing this abstract program with a network of timed automata modeling the architecture; and 3) compute ...
متن کاملProcessor Pipelines and Static Worst-Case Execution Time Analysis
Engblom, J. 2002: Processor Pipelines and Static Worst-Case Execution Time Analysis. Acta Universitatis Upsaliensis. Uppsala dissertations from the Faculty of Science and Technology 36. 130 pp. Uppsala. ISBN 91-554-5228-0. Worst-Case Execution Time (WCET) estimates for programs are necessary when building real-time systems. They are used to ensure timely responses from interrupts, to guarantee ...
متن کامل